═══ 1. Lynx/2 Users Guide Introduction ═══ Lynx/2 is a fully-featured World Wide Web (WWW) client for OS/2 VIO sessions, either windowed or full-screen. It will display hypertext markup language (HTML) documents containing links to files residing on the local system, as well as files residing on remote systems running Gopher, HTTP, FTP, WAIS, and NNTP servers. Lynx/2 can be used to access information on the World Wide Web, or to build information systems intended primarily for local access. In addition, Lynx/2 can be used to build systems isolated within a single LAN. ═══ 2. Setting Up Lynx/2's CFG file ═══ The actual installation of the Lynx/2 package is covered in the Readme.os2 file. Please refer to that file for installation instructions. This section will concern itself with changes that can or should be made to the Lynx.CFG file, which Lynx/2 will look for in your $ETC directory. ═══ 2.1. General Considerations ═══ The default placement for this file is in the $ETC directory. Definition pairs are of the form VARIABLE:DEFINITION. NO spaces are allowed between the pair items. If you like, you may specify it's location on the command line with the "-cfg" command line option. Items may be commented out by putting a '#' as the FIRST char of the line All definitions must be flush left and have NO spaces.!!! All examples given here are from the Lynx.cfg files used here. ═══ 2.2. The STARTFILE Entry ═══ STARTFILE is the default URL if none is specified on the command line. These files can be remote (http://www.w3.org/default.html) or local (file://localhost/DIRECTORY/FILENAME). Some examples (All but one commented out). # STARTFILE:http://www.cc.ukans.edu/about_lynx/www_start.html # STARTFILE:file:///e:/webpage/djd/index.html STARTFILE:http://www.cris.com/~djd/ You will probably want to put your own startfile here. ═══ 2.3. The HELPFILE Entry ═══ HELPFILE must be defined as a URL and must have a complete local path name if local (file://localhost/x:/DIRECTORY/FILENAME). Examples are: #HELPFILE:http://kufacts.cc.ukans.edu/lynx_help/lynx_help_main.html HELPFILE:file://localhost/f:/lynx/help/lynx_hel.htm You will probably want to update this to reflect the actual directory Lynx/2 is installed in. ═══ 2.4. The JUMPFILE Entry ═══ JUMPFILE is the local file checked for shortcut URL's when the user presses the 'J' (JUMP) key. The user will be prompted for a shortcut entry (analogously to 'g'oto), and can enter one or use '?' for a list of the shortcuts with associated links to their actual URL's. See the sample jumps files in the samples subdirectory. Make sure your jumps file includes a '?' shortcut for a file://localhost URL to itself:
?
This Shortcut List If not defined here, the JUMP command will invoke the NO_JUMPFILE statusline message. Do not include "file://localhost" in the definition. An example would be: JUMPFILE:/Lynx_Dir/jumps.html ═══ 2.5. The CHARACTER_SET entry ═══ The CHARACTER_SET defines the users default 8 bit character set which is used to represent the list of character entities within HTML. The default character sets include:  ISO Latin 1  DEC Multinational  IBM PC character set  NeXT character set  7 bit approximations An example would be as follows, which is recommended for Lynx/2: CHARACTER_SET:IBM PC character set ═══ 2.6. The BOLD_HEADERS Entry ═══ If BOLD_HEADERS is set to TRUE the HT_BOLD default style will be acted upon for

through headers. The default is FALSE (only the uppercasing and indentation styles are acted upon). An Example: BOLD_HEADERS:FALSE ═══ 2.7. The LOCAL_EXECUTION_LINKS Entries ═══ Currently, these features of Lynx are disaabled in Lynx/2. The CFG file section dealing with these is left here as a convenience for the author, in the event that these are enabled in the future. ═══ 2.8. The INEWS Entry ═══ Set INEWS to the full path and name of your program for posting to newsgroups. A "mini" inews,written in REXX, is included in the Lynx/2 distribution, and will be used by default if this entry is commented out. You can disable news posting by setting INEWS to "none", or via -restrictions switches. #INEWS:inews ═══ 2.9. The VI_KEYS_ALWAYS_ON Entry ═══ VI_KEYS can be turned on by the user in the options screen or the .lynxrc file. This is just the default. VI_KEYS_ALWAYS_ON:FALSE ═══ 2.10. The EMACS_KEYS_ALWAYS_ON Entry ═══ EMACS_KEYS can be turned on by the user in the options screen or the .lynxrc file. This is just the default. EMACS_KEYS_ALWAYS_ON:FALSE ═══ 2.11. The DEFAULT_KEYPAD_MODE_IS_NUMBERS_AS_ARROWS Entry ═══ DEFAULT_KEYPAD_MODE specifies whether by default the user has numbers that work like arrows or else numbered links DEFAULT KEYPAD MODE may be set to TRUE for using numbers as arrows as default or FALSE for using numbered links as the default. DEFAULT_KEYPAD_MODE_IS_NUMBERS_AS_ARROWS:TRUE ═══ 2.12. The CASE_SENSITIVE_ALWAYS_ON Entry ═══ The default search type. This is a default that can be overridden by the user. CASE_SENSITIVE_ALWAYS_ON:FALSE ═══ 2.13. The DEFAULT_BOOKMARK_FILE Entry ═══ DEFAULT_BOOKMARK_FILE is a default filename for use as a personal bookmark file. It should start without a slash and will reference a file from the users $HOME directory. NOTE: A file ending in .htm should be used eliminate potential problems DEFAULT_BOOKMARK_FILE:Bookmark.htm ═══ 2.14. The DEFAULT_USER_MODE Entry ═══ DEFAULT_USER_MODE sets the default user mode for Lynx users. NOVICE shows a three line help message at the bottom of the screen. INTERMEDIATE shows normal amount of help (one line). ADVANCED help is replaced by the URL of the current link DEFAULT_USER_MODE:NOVICE ═══ 2.15. The DEFAULT_EDITOR Entry ═══ DEFAULT_EDITOR sets the default editor for Lynx users. If an editor is defined then the user may edit local documents using that editor. The editor will also be used for sending mail messages. If no editor is defined here or by the user the user will not be able to edit local documents and a primative line oriented mail input mode will be used. NOTE: Do not define an editor unless you know that every user will know how to use it. Most users do not enjoy getting stuck in an unknown editor that they can't get out of. Users can easily define an editor of their own using the options menu, so it is not always desirable to set the DEFAULT_EDITOR. DEFAULT_EDITOR: tedit ═══ 2.16. The SYSTEM_EDITOR Entry ═══ SYSTEM_EDITOR behaves the same as DEFAULT_EDITOR except that it can't be changed. SYSTEM_EDITOR: ═══ 2.17. The PREFERRED_LANGUAGE Entry ═══ PREFERRED_LANGUAGE is the language in MIME notation (e.g., "en", "fr") which will be indicated by Lynx in its Accept-Language headers as the preferred language. If available, the document will be transmitted in that language. Users can override this setting via the 'o'ptions menu and save that preference in their RC file. PREFERRED_LANGUAGE:en ═══ 2.18. The Proxy Variables ═══ Lynx/2 supports the use of proxy servers that can act as firewall gateways and caching servers. They are preferable to the older gateway servers. Each protocol used by Lynx can be mapped separately using PROTOCOL_proxy environment variables (see INSTALLATION). If you have not set them externally, you can set them at run time via this configuration file. They will not override external settings. #http_proxy:http://some.server.dom:port/ #ftp_proxy:http://some.server.dom:port/ #gopher_proxy:http://some.server.dom:port/ #news_proxy:http://some.server.dom:port/ #wais_proxy:http://some.server.dom:port/ #no_proxy:host.domain.dom ═══ 2.19. Printer Definitions ═══ Any number of printers may be defined by using multiple printer definition sets. Printers may be any program that could be useful to your users, they do not necessarily have to print. The definition of a printer is of the form: PRINTER:::: Where: is the name that the user will see. is the command line arguments for printing a file the %s will be replaced with the file being printed. If a second %s is given the second %s will be replaced by a suggested filename that is prettier than the tempfile name given in the first %s. This does not remove the first %s from the command line in any manner. If you need to use only the second %s file name in your printer command then I suggest creating a REXX script which will first copy the first %s file name to the second %s file name, and then executing your print command with the second %s file name. Lynxcp.exe would be useful in such a script, as it deals with filenames specified with a mix of forward and backward slashes. specifies whether the printer should be disabled for users without printing options. The options areTRUE or FALSE; TRUE means the printer will always be ENABLED regardless of printer or anonymous settings FALSE means the printer will be DISABLED when the -noprint option is on, or for anonymous users which are not allowed to print. is an optional parameter for indicating the number of lines per page for the printer. Defaults to 66. Use it for computing the approximate number of pages and generating a statusline query of whether to proceed if the document is longer than 4 printer pages. Uses the current screen length for the computation when the built in "print to screen" option is selected. You must put the whole definition on one line. If you must use a colon, precede it with a backslash! Examples: #PRINTER:Computer Center printer:lpr -Pccprt %s:FALSE #PRINTER:Office printer:lpr -POffprt %s:TRUE PRINTER:HP DeskJet:prt %s:TRUE:55 PRINTER:Rsynth:sayit %s:TRUE:20 Note the last example, Print To Rsynth. This calls an OS/2 Batch File, sayit.cmd, which contains the following: start /min say -r 11 <%1 exit The result is that the current page is 'printed' to the Rsynth text-to-speech engine for OS/2, and subsequently read aloud. ═══ 2.20. Downloader Definitions ═══ Any number of downloaders may be defined by using multiple downloader definition sets. Downloaders may be any program that could be useful to your users, they do not necessarily have to be a download protocol program. The most common use of a downloader is to use Ckermit or some other transfer program so that the user may easily transfer files back to their local machine over a serial link. The definition of a downloader is of the form: DOWNLOADER::: is the name that the user will see is the command line arguments for printing a file the %s will be replaced with the file being printed If a second %s is given the second %s will be replaced by a suggested filename that is nicer than the tempfile name given in the first %s. This does not replace the first %s in the command line. If your command needs the suggest file name on the command line only, then I suggest creating a REXX script that will first copy the first %s file name to the second %s file name, and then execute the downloading command using the second %s file name (e.g., 'sz' needs such a script interposed). specifies whether the downloader should be disabled for anonymous users. The options are TRUE or FALSE; TRUE means the downloader will always be ENABLED regardless of the anonymous settings FALSE means the downloader will be DISABLED when the user is anonymous. You must put the whole definition on one line. If you must use a colon, precede it with a backslash! An Example follows - the following example copies an incoming download to my default download directory, which is f:\download. Note the backslash after the f, denoting that the colon is escaped. DOWNLOADER:Save to Default Download Dir:lynxcp %s f\:/download/%s:TRUE ═══ 2.21. Uploader Definitions ═══ Any number of uploaders may be defined by using multiple uploader definition sets. Uploaders may be any program that could be useful to your users, they do not necessarily have to be an upload protocol program. The most common use of an uploader is to use Ckermit or some other transfer program so that the user may easily transfer files from their local machine over a serial link. The definition of an uploader is of the same form as a downloader: UPLOADER::: You must put the whole definition on one line. If you must use a colon, precede it with a backslash! UPLOADER:Use Kermit to upload from your computer: kermit -i -r -a %s:TRUE ═══ 2.22. The NO_DOT_FILES Entry ═══ If NO_DOT_FILES is TRUE, the user will not be allowed to specify files beginning with a dot in reply to output filename prompts. NO_DOT_FILES:FALSE ═══ 2.23. MIME Types And Viewers ═══ File extensions may be assigned to MIME types using the SUFFIX: definition. The SUFFIX definition takes the form of: SUFFIX:: For instance, the following definition maps the extension ".gif" to the mime type "image/gif": SUFFIX:.gif:image/gif File suffixes are case INsensitive! The suffix definitions listed here in the default lynx.cfg file are among those established in the Lynx/2 executable. You can change any of the defaults by editing that file, or via the global or personal mime.types files at run time. They will be overridden if you assign them here. #SUFFIX:.ai:application/postscript #SUFFIX:.rtf:application/x-rtf #SUFFIX:.snd:audio/basic SUFFIX:.gif:image/gif #SUFFIX:.rgb:image/x-rgb #SUFFIX:.pict:image/x-pict SUFFIX:.xbm:image/x-xbm SUFFIX:.tiff:image/x-tiff SUFFIX:.jpg:image/jpeg SUFFIX:.jpeg:image/jpeg SUFFIX:.bmp:image/bmp SUFFIX:.mpg:video/mpeg SUFFIX:.mpeg:video/mpeg SUFFIX:.mpg:video/x-mpeg SUFFIX:.mpeg:video/x-mpeg SUFFIX:.mov:video/quicktime #SUFFIX:.hqx:application/octet-stream #SUFFIX:.bin:application/octet-stream #SUFFIX:.exe:application/octet-stream #SUFFIX:.tar:application/octet-stream #SUFFIX:.Z:application/octet-stream #SUFFIX:.gz:application/octet-stream #SUFFIX:.zip:application/octet-stream #SUFFIX:.lzh:application/octet-stream #SUFFIX:.lha:application/octet-stream #SUFFIX:.dms:application/octet-stream SUFFIX:.pdf:application/pdf SUFFIX:.ra:audio/x-pn-realaudio SUFFIX:.ram:audio/x-pn-realaudio The global and personal EXTENSION_MAP files allow you to assign extensions to MIME types which will overide any of the suffix maps in this (lynx.cfg) configuration file, or in src/HTInit.c. See the example mime.types file in the samples subdirectory. Normally, though, additions to viewers for Lynx/2 are made here in the Lynx.cfg file. MIME types may be assigned to external viewers using the VIEWER definition. Note: if you do not define a viewer to a new MIME type that you assigned above then it will be saved to disk by default. The VIEWER definition takes the form of: VIEWER::[:environment] Where is the MIME content type of the file. is a system command that can be used to display the file where "%s" is replaced within the command with the physical filename (i.e. "xv %s" becomes "xv /tmp/tempgiffile"). [environment] is optional. The only valid keywords are currently XWINDOWS and NON_XWINDOWS. If the XWINDOWS environment is specified then the viewer will only be defined when the user has the environment variable DISPLAY defined. If the NON_XWINDOWS environment is specified the specified viewer will only be defined when the user DOES NOT have the environment variable DISPLAY defined. Examples: Note that colons cannot be escaped here, so if your system command contains a colon (to access a program on another drive, and not in the path, for instance) you will have to call an external OS/2 Batch file instead. VIEWER:image/gif:gif.cmd %s VIEWER:image/x-xbm:gif.cmd %s VIEWER:image/x-rgb:gif.cmd %s VIEWER:image/x-tiff:gif.cmd %s VIEWER:image/jpeg:gif.cmd %s VIEWER:image/bmp:gif.cmd %s VIEWER:video/mpeg:start pmmpeg %s VIEWER:video/x-mpeg:start pmmpeg %s #VIEWER:video/mpeg:mpeg_play %s &:XWINDOWS VIEWER:application/pdf:acro.cmd %s gif.cmd, as seen in the examples, is used locally by Lynx/2 to display a number of graphics formats. The contents of gif.cmd are as follows. Again, an external OS/2 batch file was used because a drive reference (with colon) is not legal on this line as part of a system command. start d:\jvw\JView.exe %1 The global and personal MAILCAP files allow you to specify external viewers to spawned when Lynx encounters different MIME types, which will overide any of the suffix maps in this (lynx.cfg) configuration file, or in src/HTInit.c. See RFC-MAILCAP.txt in the docs subdirectory and the example mailcap file in the samples subdirectory. Again, Lynx/2 users normally use the Lynx.cfg file for these changes. ═══ 2.24. The LOCAL_DOMAIN Entry ═══ LOCAL_DOMAIN is used to determine if a user is local to your campus or organization. You MUST change this to reflect your own setup. LOCAL_DOMAIN:cris.com ═══ 2.25. Key remapping definitions ═══ You may redefine the keymapping of any function in Lynx by using the KEYMAP variable. The form of KEYMAP is: KEYMAP:: You must map upper and lowercase key's separately. A complete list of functions mapped to their default keys are provided below. All of the mappings are commented out by default since they just map to the default mappings, except for TOGGLE_HELP (see below). Special keys map to: # Up Arrow: 0x80 # Down Arrow: 0x81 # Right Arrow: 0x82 # Left Arrow: 0x83 # Page Down: 0x84 # Page Up: 0x85 # Keypad Home: 0x86 # Keypad End: 0x87 # Function key 1: 0x88 # vt100 Help Key: 0x88 # vt100 Do Key: 0x89 # vt100 Find Key: 0x8A # vt100 Select Key: 0x8B # vt100 Insert Key: 0x8C # vt100 Remove Key: 0x8D # NULL KEY: 0x00 #KEYMAP:0x2F:SOURCE # Toggle source viewing mode (show HTML source #KEYMAP:^R:RELOAD # Reload the current document and redisplay #KEYMAP:q:QUIT # Ask the user to quit #KEYMAP:Q:ABORT # Quit without verification #KEYMAP:0x20:NEXT_PAGE # Move down to previous page #KEYMAP:-:PREV_PAGE # Move up to previous page #KEYMAP:^P:UP_TWO # Move display up two lines #KEYMAP:0x8C:UP_TWO # Function key - Move display up two lines #KEYMAP:^N:DOWN_TWO # Move display down two lines #KEYMAP:0x8D:DOWN_TWO # Function key - Move display down two lines #KEYMAP:^W:REFRESH # Refresh the screen #KEYMAP:0x86:HOME # Keypad HOME (Go to top of current document #KEYMAP:0x8A:HOME # Function key - HOME (Go to top of current document #KEYMAP:0x87:END # Keypad END (Go to bottom of current document #KEYMAP:0x8B:END # Function key - END (Go to bottom of current document #KEYMAP:0x80:PREV_LINK # Move to the previous link #KEYMAP:0x81:NEXT_LINK # Move to the next link #KEYMAP:0x00:UP_LINK # Move to the link above #KEYMAP:0x00:DOWN_LINK # Move to the link below #KEYMAP:0x00:RIGHT_LINK # Move to the link to the right #KEYMAP:0x00:LEFT_LINK # Move to the link to the left #KEYMAP:0x7f:HISTORY # Show the history list #KEYMAP:0x08:HISTORY # Show the history list #KEYMAP:0x83:PREV_DOC # Return to the previous document #KEYMAP:0x82:ACTIVATE # Select the current link #KEYMAP:0x89:ACTIVATE # Function key - Select the current link #KEYMAP:g:GOTO # Goto a random URL #KEYMAP:H:HELP # Show default help screen #KEYMAP:0x88:HELP # Functionkey - Show default help screen #KEYMAP:i:INDEX # Show default index #*** Edit FORM_LINK_SUBMIT_MESSAGE in userdefs.h if you change RESUBMIT *** #KEYMAP:x:RESUBMIT # Force resubmission of form if presently cached #*** Do not change INTERRUPT from 'z' & 'Z' *** #KEYMAP:z:INTERRUPT # Interrupt network transmission #KEYMAP:m:MAIN_MENU # Return to the main menu #KEYMAP:o:OPTIONS # Show the options menu #KEYMAP:i:INDEX_SEARCH # Search a server based index #KEYMAP:/:WHEREIS # Find a string within the current document #KEYMAP:n:NEXT # Find next occurance of string within document #KEYMAP:c:COMMENT # Comment to the author of the current document #KEYMAP:e:EDIT # Edit current document #KEYMAP:=:INFO # Show info about current document #KEYMAP:p:PRINT # Show print options #KEYMAP:a:ADD_BOOKMARK # Add current document to bookmark list #KEYMAP:v:VIEW_BOOKMARK # View the bookmark list #KEYMAP:!:SHELL # Spawn default shell #KEYMAP:d:DOWNLOAD # Download current link #KEYMAP:j:JUMP # Jump to a predefined target #KEYMAP:k:KEYMAP # Display the current key map #KEYMAP:0x00:DO_NOTHING # Does nothing (ignore this key) If TOGGLE_HELP is mapped, in novice mode the second help menu line can be toggled among NOVICE_LINE_TWO_A, _B, and _C, as defined in the Lynx/2 executable. Otherwise, it will be NOVICE_LINE_TWO. ═══ 2.26. Lynx/2 Color Configuration ═══ There are four sets of colors that can be configured in Lynx/2. They are The Normal colors, the Links colors, the Bold colors, and the Highlight colors. Each of these sets of colors has a foreground color, backround color, and attribute than can be set. Available colors for foreground and backround are BLACK, BLUE, GREEN, CYAN, RED, MAGENTA, YELLOW, or WHITE. Available Attributes for each color set are NORMAL, BLINK, BOLD, REVERSE, and STANDOUT (a combination of BOLD and REVERSE). The Default Normal Colors are used by Lynx/2 for normal text: NORM_FOREGROUND:WHITE NORM_BACKGROUND:BLUE NORM_ATTRIBUTE:NORMAL The Default Links colors are used by Lynx/2 to show the available hypertext links: LINKS_FOREGROUND:YELLOW LINKS_BACKGROUND:BLUE LINKS_ATTRIBUTE:BOLD The Bold colors are used by Lynx/2 to show bold text BOLD_FOREGROUND:GREEN BOLD_BACKGROUND:BLUE BOLD_ATTRIBUTE:BOLD The Highlight colors are used by Lynx/2 for the current link, and information: HILITE_FOREGROUND:BLUE HILITE_BACKGROUND:WHITE HILITE_ATTRIBUTE:NORMAL ═══ 2.27. Lynx/2 VIO Window Size ═══ The size Lynx/2 will set its VIO window to at sratup, in lines and columns, as follows: LINES:50 COLUMNS:80 ═══ 2.28. The Java Execution Engine ═══ This specifies the name of the program to run against a URL when the 'j' key is pressed. This is for the manual execution of JAVA Applets from Lynx/2. The following setting is correct if you are using the OS/2 JDK Runtime. JAVA_ENGINE:applet.exe If this is not specified here, no executions of Java Applets will occur. ═══ 3. Viewing local files with Lynx/2 ═══ Lynx/2 can be started by entering the Lynx/2 command along with the name of a file to display. For example this command could be used to display an arbitrary ASCII text file. lynx help.txt When executed, Lynx/2 will clear the screen and display as much of the specified file as will fit on the screen. Pressing a down-arrow will bring up the next screen, and pressing an up-arrow will bring up the previous screen. If no file is specified at startup, a default file will be displayed. (The default is configured by the system administrator when the command is installed.) Lynx/2 will also display files written in the HyperText Markup Language (HTML), if the file's name ends with the characters ".html". HTML is a file format that allows users to create a file that contains (among other things) hypertext links to other files. Several files linked together may be described as a hypertext document. For example, this command could be used to display a file containing HTML hypertext: lynx index.html When Lynx/2 displays an HTML file, it shows links as "bold face" text, except for one link, which is shown as "highlighted" text. Whether "boldface" or "highlighted" text shows up as reverse video, boldface type, or a color change, etc. depends on how the lynx.cfg file color parameters have been set up. The one link displayed as "highlighted" text is the currently "selected" link. Lynx/2 will display the file associated with the selected link when a right-arrow or a Return key is pressed. To select a particular link, press the up-arrow or down-arrow keys until the desired link becomes "highlighted," and then press the right-arrow or Return key to view the linked information. Information included in the HTML file tells Lynx/2 where to find the linked file and what kind of server will provide it (i.e. HTTP, Gopher, etc.). When a binary file is encountered that Lynx/2 does not have a viewer configured for, Lynx/2 will ask the user if he/she wishes to download the file or cancel. If the user selects 'D' for download, Lynx/2 will transfer the file into a temporary location and present the user with a list of options. The only default option is "save file to disk". Any number of additional download methods may be defined in the lynx.cfg file. Programs like kermit, zmodem and FTP are some possible options. ═══ 4. Lynx/2 online help ═══ Online help is available while viewing any document. Press the '?' or 'H' key to see a list of help topics. See the section titled 'Navigating hypertext documents with Lynx/2' for information on navigating through the help files. ═══ 5. Leaving Lynx/2 ═══ To exit Lynx/2 use the 'q' command. You will be asked whether you really want to quit. Answering 'y' will exit and 'n' will return you to the current document. Use 'Q' or CTRL-D to quit without verification. ═══ 6. Starting Lynx/2 with a Remote File ═══ If you wish to view a remote file (that is, a file residing on some computer system other than the one upon which you are running Lynx/2) without first viewing a local file, you must identify that file by using a Uniform Resource Locator (URL). URL's take the general form: PROTOCOL://HOST/PATH/FILENAME where: PROTOCOL identifies the communications protocol used by the server that will provide the file. As mentioned earlier, Lynx/2 (and any WWW client) can interact with a variety of servers, each with its own protocol. HOST is the Internet address of the computer system on which the server is running, and PATH and FILENAME identify the directory path and file of interest. Here are some sample URL's. HTTP (HyperText Transfer Protocol) http://www.cris.com/~djd/ Gopher gopher://gopher.micro.umn.edu/11/ FTP (File Transfer Protocol) ftp://ftp2.cc.ukans.edu/pub/lynx/README WAIS (Wide Area Information Service protocol) wais://cnidr.org/directory-of-servers A URL may be specified to Lynx/2 on the command line, as in: lynx http://kufacts.cc.ukans.edu/cwis/kufacts_start.html ═══ 7. Starting Lynx/2 with the the WWW_HOME environment variable. ═══ You may also specify a starting file for Lynx/2 using the WWW_HOME environment variable, OS/2 set WWW_HOME=file:///e:/webpage/index.html ═══ 8. Navigating hypertext documents with Lynx/2 ═══ The process of moving within a hypertext web, selecting and displaying links is known as "navigation." With Lynx/2 almost all navigation can be accomplished with the arrow keys and the numeric keypad. +-------+-------+-------+ | TOP | /|\ | Page | arrow keys | of | | | UP | | text 7| | 8| 9| +---------+ +-------+-------+-------+ | SELECT | | | | | | prev /|\| | <--- | | ---> | | link | | | 4| 5| 6| +---------+---------+---------+ +-------+-------+-------+ | BACK | SELECT | DISPLAY | | END | | | Page | |<-- prev | next | | sel. -->| | of | | | DOWN | | doc. | link \|/| link | | text 1| \|/ 2| 3| +---------+---------+---------+ +-------+-------+-------+ There are also a few other keyboard commands to aid in navigation. Some of these commands depend on the fact that Lynx/2 keeps a list of each file you visit called the "history list". The "backspace" or "delete" key will show you the whole history list. Any of the documents shown in the list may be revisited by selecting them from the history screen. The 'm' key command will take you back to the starting document unless you specified the -homepage=URL option at the command line. The 'i' key presents an index of documents. The default index is usually a document pointing to servers around the world, but the index can be changed by the system administrator or on the command line using the -index switch, and therefore depends on how the Lynx/2 program you are using was configured. If you choose a link to a server with active access authorization Lynx/2 will automatically prompt for a username and a password. If you give the correct information, you will then be served the requested information. Lynx/2 will automatically send your username and password to the same server if it is needed again. ═══ 9. Printing, Mailing, and Saving files to disk. ═══ Documents may be printed using the 'p' command. After pressing the 'p' key a menu of Print Options will be displayed. The menu will vary according to how the lynx.cfg file has been set up. The "Save to a local file" option allows you to save the document into a file on your disk space. Any number of additional print options may also be available as configured in the lynx.cfg file. ═══ 10. Lynx/2 searching commands ═══ Two commands activate searching in Lynx/2: "/" and "s". While viewing a normal document use the "/" command to find a word or phrase within the current document. The search type will depend on the search option setting in the options menu (see below). The search options are case sensitive and case insensitive. Some documents are designated "index documents". These documents can be searched to retrieve additional information from an index server. The "s" key allows searching of index documents. ═══ 11. Lynx/2 options menu ═══ The Lynx/2 Options Menu may be accessed by pressing the 'o' key. The current Lynx/2 Options Menu contains the following configurable options. Options Menu E)ditor : emacs D)ISPLAY variable : NONE B)ookmark file : home_page F)TP sort criteria : By Filename P)ersonal mail address : mymail@myhost.myext S)earching type : CASE INSENSITIVE C)haracter set : ISO Latin 1 V)I keys : OFF e(M)acs keys : OFF K)eypad as arrows or Numbered links : Numbers act as arrows U)ser mode : Advanced L)ocal execution links : Always off An option can be changed by entering the capital letter of the option you want to change (i.e. 'E' for Editor). For fields where text must be entered, simply enter the text by typing on the keyboard. The Backspace and Delete keys can be used to correct mistakes, and CTRL-U can be used to erase the whole line. When you are done entering a change press the Return key to get back to the Command? prompt. For fields where you must choose from a list of choices, press any key to toggle the choices and press the Return key to finish the change. When you are done changing options use the 'r' command to return to Lynx/2 or the '>' command to save the options to a .lynxrc file and return to Lynx/2. The following table describes the options available on the Options Menu: Editor The editor to be invoked when editing browsable files, and sending mail or comments. The full pathname of the editor command should be specified when possible. DISPLAY variable This option is only relevant to X Window users. The DISPLAY variable is picked up automatically from the environment if it has been previously set. Bookmark file This is the filename and location of your personal bookmark file. The bookmark file allows frequently travelled links to be stored in a personal easy to access file. Using the 'a' command (see below) you may save any link into your bookmark file. If the path specified does not begin with a slash then the path will reference your home directory. FTP sort criteria This option allows you to specify how files will be sorted within FTP listings. The current options include "By Filename ", "By Size ", "By Type ", and "By Date ". Personal mail address This mail address will be used to help you send files to yourself and will be included as the From: address in any mail or comments that you send. It will also be sent as the From: field in all HTTP get requests. Searching type Searching type has two possible values: CASE INSENSITIVE (default) and CASE SENSITIVE. The searching type effects inter-document searches only, and determines whether searches for words within documents will be done in a case-sensitive or case-insensitive manner. VI keys If set to ON then the lowercase h,j,k, and l keys will be mapped to left, down, up, and right arrow, respectively. Emacs keys If set to ON then the CTRL-P, CTRL-N, CTRL-F, and CTRL-B keys will be mapped to up, down, right, and left arro arrow arroww, respectively. Keypad as arrows or numbered links This option gives the choice between navigating with the arrow keys or having every link numbered so that the links may be selected by numbers as well as using the arrow keys. User Mode There are three possible choices: Novice, Intermediate, and Advanced. Novice In Novice mode two lines of help are displayed at the bottom of the screen. Intermediate Intermediate mode turns off the help lines. Advanced Advanced mode displays the URL of the currently selected link at the bottom of the screen. Local execution scripts or links Local execution can be activated by the system administrator. If it has not been activated you will not see this option in the options menu. When a local execution script is encountered Lynx/2 checks the users options to see whether the script can be executed. Users have the following options: Always off Local execution scripts will never be executed For Local files only Local execution scripts will only be executed if the script to be executed resides on the local machine, and is referenced by a URL that begins with "file://localhost" Always on All local exection scripts will be executed If the users options permit the script to be executed Lynx/2 will spawn a shell and run the script. If the script cannot be executed Lynx/2 will show the script within the Lynx/2 window and inform the user that the script is not allowed to be executed and will ask the user to check his/her options. ═══ 12. Comments and mailto: links ═══ At any time while viewing documents within Lynx/2, you may use the 'c' command to send a mail message to the owner of the current document if the author of the document has specified ownership. If no ownership is specified then comments are disabled. Certain links called "mailto:" links will also allow you to send mail to other people. Using the mail features within Lynx/2 is straightforward. Once you have decided to send a comment or have selected a "mailto:" link a new screen will appear showing you who you are sending the message to. Lynx/2 will ask for your name, your e-mail address, and the subject of the message. If you have filled in the "personal mail address" field in the Options Menu, your e-mail address will be filled in automatically. After entering the above information, if you have an editor defined in the Options Menu and you are not an anonymous user then your specified editor will be spawned for you so that you can enter your message. If you do not have an editor defined or you are an anonymous user, a simple line mode input scheme will allow you to enter your message. To finish sending the message, exit your spawned editor or, if you are using the simple line mode input scheme, type a "." (period) on a line by itself. You will be asked a final time whether to send the message. If you press 'y' then the message will be sent, if you press 'n' the message will be deleted. ═══ 13. USENET News posting ═══ While reading news articles with Lynx/2 you should see a link that says "Reply to user@host" and a link that says "Reply to newsgroup(s)" Reply to user@host user@host will actually appear as the mail address of the person who posted the news article. Selecting the link will allow you to send a message to the person who wrote the message you are currently viewing. You will be given the option of including the original message in your reply. Reply to newsgroup(s) Selecting this link will allow you to post back to the newsgroup that you are currently reading and any newsgroups that the message may be cross-posted to. You will be given the option of including the original message in your reply. Once you have typed in your message the inews program will be called to post your message to your news host. ═══ 14. Lynx/2 and HTML Forms ═══ This section describes the Lynx/2 Forms Interface. HTML gives document providers the ability to create on-line forms which may be filled out when the document is viewed. When a form is submitted the information on the form can be used to search a database or complete a survey. An HTML Form provides for the use of buttons or to perform an action (such as submit), checkboxes and radio buttons to select options from a list, and fields for entering text. Buttons: Buttons are displayed in the same way that Lynx/2 displays links in a document. To "push" the button press the RIGHT ARROW or RETURN key. Checkboxes and Radio buttons Checkboxes and radio buttons are displayed as parenthesis: (). When a box is checked or a button selected, an asterisk appears within the parenthesis: (*). To check a box or select a radio button press the RIGHT ARROW or RETURN key. Selection Fields Selection fields are displayed as brackets with the default option displayed between them: [default__]. To select an option press theRIGHT ARROW or RETURN key. A box with a border of asterisks will appear with the list of possible options listed within the box. Use the UP ARROW and DOWN ARROW keys to move the cursor between options and the RIGHT ARROW or RETURN key to select an option. Text Entry Fields Text entry fields are displayed as a row of underscores the length of the entry field: _______. You may enter text directly by typing at the keyboard. Use the BACKSPACE key to correct errors. If you input more text than the field can hold your input will be truncated. If you fill a text field the cursor will not move off the field but remain at the last field position. You can move around the form using the standard Lynx/2 navigation keys. UP ARROW and DOWN ARROW keys respectively select the previous or next field, box, or button. The TAB key selects the next field, box, or button. NOTE:If you have a text input field selected you will not have access to any of the Lynx/2 keystroke commands. Select a button or box when you want to use Lynx/2 keystrokes. ═══ 15. Viewing the HTML document source and editing documents ═══ When viewing HTML documents it is possible to view the unrendered (i.e., the original HTML) source of the document by pressing the '\' (backslash) key. The document will be reloaded from the server or disk and displayed on the screen unrendered. When viewing unrendered documents you may print them as any normal document. Selecting the Print to a local file option from the Print Menu, makes it possible to save the source of the document to disk so that you may have a local copy of the document. NOTE: When saving an HTML document it is important to name the document with a ".html" extension, if you want to read it with Lynx/2 again later. Lynx/2 can allow users to edit documents that reside on the local system. To enable editing, documents must be referenced using a "file:" URL or by specifying a plain filename on the command line as in the following two examples: lynx file://localhost/FULL/PATH/FILENAME lynx path/filename.html In addition, the user must also specify an editor in the Options Menu so that Lynx/2 knows which editor to use. If the file is specified correctly and an editor is defined, then you may edit documents by using the 'e' command. When the 'e' command is entered your specified editor is spawned to edit the file. After changes are completed, exit your editor and you will return to Lynx/2. Lynx/2 will reload and render the file so that changes can be immediately examined. ═══ 16. Reloading files and refreshing the display ═══ The CTRL-R command will reload and rerender the file that you are currently viewing. CTRL-L or CTRL-W will refresh or wipe the screen to remove or correct any errors that may be caused by operating system or other messages. ═══ 17. Lynx/2 bookmarks ═══ It is often useful to place a bookmark to aid in returning quickly to a document. To use the bookmark feature you must first use the Options Menu to specify a bookmark filename. To save a bookmark to the document you wish to place in the bookmark file press the 'a' key and you will be asked Save D)ocument or L)ink to bookmark file or C)ancel? (d,l,c): Answer 'd' to save a link to the document you are currently viewing or 'l' to save the link that is currently selected on the page. Selecting 'c' will cancel without saveing anything to your bookmark file. Use the 'v' command to view the list of bookmarks you have saved. While viewing the bookmark list you may select a bookmark as you would any other link. ═══ 18. Loading Embedded Java Apps ═══ If this option is set up in the Lynx.Cfg file (see the section on Lynx.cfg settings), pressing the 'j' key will spawn the designated Java Applet Execution Engine (usually, applet.exe from the OS/2 JDK), against the URL currently being displayed. Any Java applets referenced from this URL will be executed by this program at this time. Note that in order for this to work, the OS/2 JDK Runtime must be installed. This can be obtained from IBM's Java Info Web Site, at http://ncc.hursley.ibm.com/javainfo/ . Only the runtime.zip file is required for execution of Java Applets from Lynx/2. It should also be realized that execution of Java Applets from Lynx/2 is not automatic - you must press the 'j' key in order to execute the applets. Lynx/2 will not signal in any way that applets are present on a particular page- the user must know (or strongly suspect) this independently. It is recognized that this is not optimal behaviour, and will be rectified in a future release. ═══ 19. Jump Command ═══ A feature similar to the Lynx/2 bookmarks is the jump command. The jump command allows you to enter a shortcut name to access a URL. If the jump feature is active, typing 'j' will produce a prompt where you may enter the shortcut name. Type '?' at the jump prompt for a list of shortcut names available. Note to System Administrators: Read the "lynx.cfg" file on how to set up the jump command for your system and how to define shortcut names. ═══ 20. Other useful commands ═══ ! When '!' is pressed your default shell will be spawned. When you quit or exit the shell you will return to Lynx/2. (Usually 'exit' under UNIX and 'logout' under VMS) This command is usually disabled for anonymous users. g The 'g' command allows any URL to be viewed. Pressing the 'g' command will bring up a prompt asking for a URL. Type in the URL that you wish to view. = The '=' command shows information about the current document and the currently selected link if there is one. The number of lines in the file, URL, title, owner, and type are shown. z Lynx/2 supports completely interruptable I/O processes. Press the 'z' key at any time during a connect or transfer process and the process will be halted. If any data was transferred before the interrupt, it will be displayed. ═══ 21. Summary Of Keyboard Commands ═══ MOVEMENT : Down arrow - Highlight next topic Up arrow - Highlight previous topic Right arrow, - Jump to highlighted topic Return, Enter Left arrow - Return to previous topic SCROLLING: + (or space) - Scroll down to next page - (or b) - Scroll up to previous page OTHER: ? (or h) - Help a - Add the current link to your bookmark file c - Send a comment to the document owner d - Download the current link e - Edit the current file g - Goto a user specified ^PURL^Q or file i - Show an index of documents j - Execute Embedded Java Applets J - Execute a Jump Operation k - Show a list of key mappings m - Return to main screen o - Set your options p - Print to a file, mail, printers, or other q - Quit (Capital 'Q' for quick quit) / - Search for a string within the current document s - Enter a search string for an external search n - Go to the next search string v - View your bookmark file z - Cancel transfer in progress [backspace] - Go to the history page = - Show file and link info \ - Toggle document source/rendered view ! - Spawn your default shell CTRL-R - Reload current file and refresh the screen CTRL-W - Refresh the screen CTRL-U - Erase input line CTRL-G - Cancel input or transfer ═══ 22. The Lynx/2 command line ═══ The basic syntax of the Lynx/2 command can be represented as one of the following: lynx [options] lynx [options] startup_file where startup_file is the file that Lynx/2 will load at start-up.  If no file is specified, Lynx/2 will use a default starting file and base directory determined during installation.  If a specified file is local (i.e., not a URL) Lynx/2 displays that file and uses the directory in which that file resides as the base directory.  If a URL is specified, the file will be retrieved, and only the server base directory will be relevant to further accesses. options can be selected from the following list, where items in all-caps indicate that a substitution must be made. -anonymous used to specify the anonymous account. -auth=username:password id and password for protected pages. -case enable case-sensitive string searching. -cache=NUMBER set the NUMBER of documents cached in memory. The default is 10. -cfg=FILENAME specifies a Lynx/2 configuration file other than the default lynx.cfg. -display=DISPLAY set the display variable for X rexeced programs. -dump dumps the formatted output of the default document or one specified on the command line to standard out. Under UNIX this can be used in the following way: lynx -dump http://info.cern.ch/default.html. -editor=EDITOR enable edit mode using the specified EDITOR . (vi, ed, emacs, etc.) -emacskeys enable emacs-like key movement. -error_file=FILENAME the status code from the HTTP request is placed in this file -force_html forces the first document to be interpreted as HTML. -ftp disable ftp access. -get_data properly formatted data for a get form are read in from stdin and passed to the form. Input is terminated by a line that starts with '---'. -help print this Lynx/2 command syntax usage message. -index=URL set the default index file to the specified URL -mime_header mime header is returned as well. -noprint disable print functions. -noredir don't follow URL redirections -nostatus disable the retrieval status messages. -post_data properly formatted data for a post form are read in from stdin and passed to the form. Input is terminated by a line that starts with '---'. -print enable print functions. (default) -restrictions allows a list of services to be disabled selectively and takes the following form: "lynx -restrictions=[option][,option][,option]..." This list is printed if no options are specified. all restricts all options. bookmark disallow changing the location of the bookmark file. default same as command line option -anonymous. Disables default services for anonymous users. Currently set to all restricted except for: inside_telnet, outside_telnet, inside_news, inside_ftp, outside_ftp, inside_rlogin, outside_rlogin, jump, mail and goto. Defaults are setable within userdefs.h. disk_save disallow saving binary files to disk in the download menu. download disallow downloaders in the download menu. editor disallow editing. exec disable execution scripts. exec_frozen disallow the user from changing the local execution option. file_url disallow using G)oto to go to file: URL's. goto disable the 'g' (goto) command. inside_ftp disallow ftps for people coming from inside your domain. inside_news disallow USENET news posting for people coming from inside you domain. inside_rlogin disallow rlogins for people coming from inside your domain. inside_telnet disallow telnets for people coming from inside your domain. jump disable the 'j' (jump) command. mail disable mailing feature. news_post disable USENET News posting. options_save disallow saving options in .lynxrc. outside_ftp disallow ftps for people coming from outside your domain. outside_news disallow USENET news posting for people coming from outside you domain. outside_rlogin disallow rlogins for people coming from outside your domain. outside_telnet disallow telnets for people coming from outside your domain. print disallow most print options. shell disallow shell escapes. -rlogin disable recognition of rlogin commands. -show cursor If enabled the cursor will not be hidden in the right hand corner but will instead be positioned at the start of the currently selected link. show cursor is the default for systems without FANCY_CURSES capabilities, and the default configuration can be changed in userdefs.h. -source works the same as dump but outputs HTML source instead of formatted text. -telnet disable recognition of telnet commands. -term=TERM tell Lynx/2 what terminal type to assume its talking to. (This may be useful for remote execution, when, for example, Lynx/2 connects to a remote TCP/IP port that starts a script that, in turn, starts another Lynx/2 process.) -trace turns on WWW trace mode. -vikeys enable vi-like key movement. -version print version information No options are required, nor is a starting file required. White space may be substituted for any equal sign (=) appearing in the option list above. ═══ 23. Additional Information ═══ Just a few extra notes. ═══ 23.1. What To Do If It Doesn't Work ═══ Email me, Derek J Decker, at djd@cris.com - I'll try to determine what is going wrong and come up with a fix. You may also try to catch me in the #os/2 channel on IRC - I show up there from time to time. Before you send me email, you may want to try running lynx with the -trace command line option, and including the section of the resulting trace that shows where the problem occurs. A good description of how Lynx/2 is installed on your system, what you are trying to do that is causing a problem, and specific problem symptoms always helps to ensure an accurate and enthusiastic response. Unfortunately, the press of other work at Decker Automation prevents me from being able to support this via telephone. ═══ 23.2. Required Legal Mumbo-Jumbo ═══ It's a sad world we live in, but this is kinda obligatory these days: THERE IS NO WARRANTY FOR THIS PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING DECKER AUTOMATION PROVIDES THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM LIES WITH THE USER. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMANGES ARISING OUT OF THE USE OF INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO THE LOSS OF DATA OR DATA BEING RENDERED INACURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FIALURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. ═══ 23.3. About Decker Automation ═══ Heck - you've got a WWW Browser - point it at http://www.cris.com/~djd and find out more about Decker Automation, Derek J Decker, and what we REALLY do here. ═══ 23.4. Acknowledgements ═══ Major Kudos go to the LYNX Team, as well as Eberhard Mattes who brought us the EMX/gcc development system for OS/2. Thanks also to Rupa Schomaker(rupa@rupa.com) for the Inews.cmd file for posting news. Thanks to Dave Simons for an icon that doesn't look like it was drawn by a 4 year old. And thanks to Jacques JAMAIN, who took time out from the beach on the French Riviera to 'fatify' all the Lynx/2 help files. Thanks also to all those who emailed with bug reports - keep those cards and letters coming, folks!